package com.ruoyi.movie.service;

import com.ruoyi.movie.domain.VideoResource;
import java.util.List;

/**
 * 视频资源Service接口
 *
 * @author ruoyi
 * @date 2025-01-22
 */
public interface IVideoResourceService {
    /**
     * 查询视频资源
     *
     * @param resourceId 视频资源主键
     * @return 视频资源
     */
    public VideoResource selectVideoResourceById(Long resourceId);

    /**
     * 查询视频资源列表
     *
     * @param videoResource 视频资源
     * @return 视频资源集合
     */
    public List<VideoResource> selectVideoResourceList(VideoResource videoResource);

    /**
     * 根据视频ID查询资源列表
     *
     * @param videoId 视频ID
     * @return 视频资源集合
     */
    public List<VideoResource> selectVideoResourceByVideoId(Long videoId);

    /**
     * 新增视频资源
     *
     * @param videoResource 视频资源
     * @return 结果
     */
    public int insertVideoResource(VideoResource videoResource);

    /**
     * 批量新增视频资源
     *
     * @param videoResources 视频资源列表
     * @return 结果
     */
    public int batchInsertVideoResource(List<VideoResource> videoResources);

    /**
     * 修改视频资源
     *
     * @param videoResource 视频资源
     * @return 结果
     */
    public int updateVideoResource(VideoResource videoResource);

    /**
     * 批量删除视频资源
     *
     * @param resourceIds 需要删除的视频资源主键集合
     * @return 结果
     */
    public int deleteVideoResourceByIds(Long[] resourceIds);

    /**
     * 删除视频资源信息
     *
     * @param resourceId 视频资源主键
     * @return 结果
     */
    public int deleteVideoResourceById(Long resourceId);

    /**
     * 根据视频ID删除资源
     *
     * @param videoId 视频ID
     * @return 结果
     */
    public int deleteVideoResourceByVideoId(Long videoId);

    /**
     * 根据影视ID查询资源列表
     *
     * @param movieId 影视ID
     * @return 视频资源集合
     */
    public List<VideoResource> selectVideoResourceListByMovieId(Integer movieId);

    /**
     * 根据影视ID删除所有视频资源
     *
     * @param movieId 影视ID
     * @return 结果
     */
    public int deleteVideoResourceListByMovieId(Integer movieId);
}